#pragma once
#include <interbank.ice>

module Xts
{
	module XInterBank
	{
		//债券快照（五档）行情数据
		["clr:class", "cs:attribute:System.Serializable"] 
		struct XBondSnapshotData
		{
			XBondTag					BondTag;			//债券标识
			XBondPriceType				PriceType;			//价格类型
			double        	 			BidPrice1;
			long          	 			BidVolume1;
			double        	 			BidPrice2;
			long        	   			BidVolume2;
			double       	  			BidPrice3;
			long         	  			BidVolume3;
			double       	  			BidPrice4;
			long         	  			BidVolume4;
			double						BidPrice5;
			long        	   			BidVolume5;
			double     	    			AskPrice1;
			long       		   			AskVolume1;
			double     	    			AskPrice2;
			long        	   			AskVolume2;
			double       	  			AskPrice3;
			long         	  			AskVolume3;
			double       	  			AskPrice4;
			long           				AskVolume4;
			double         				AskPrice5;
			long           				AskVolume5;
			double         				AvgPrice;			//均价
			Util::XTime					SnapshotTime;		//快照时间
		};
		
		//债券报价明细数据
		["clr:class", "cs:attribute:System.Serializable"] 
		struct XBondQuoteDetailData
		{
			XBondTag					BondTag;			//债券标识
			double						QuoteYeild;			//报价收益率
			long						Size;				//报单量
			int							ClearingSpeed;		//结算速度，0:T+0, 1:T+1, 2:T+2
			string						Initiator;			//发起机构
			string						TraderId;			//交易员Id
			XTransactionDirection		OrderDirection;		//报价方向
			Util::XTime					QuoteTime;			//报单时间
		};
		
		//债券快照（五档）行情数据回调接口(客户端实现)
		interface IXSnapshotDataMonitor
		{
			void NewSnapshot(XBondSnapshotData snapshotData);				//债券快照（五档）行情数据推送
		};
		
		//债券报价明细数据回调接口(客户端实现)
		interface IXQuoteDetailDataMonitor
		{
			void NewQuoteDetal(XBondQuoteDetailData quoteDetailData);		//债券报价明细数据推送
		};
	};
};